This invention relates to processor systems, such as embedded systems, an example of which is an automated data storage library having at least one accessor for accessing data storage media in a plurality of storage shelves, and, more particularly, to processor systems which employ primary and backup non-volatile storage for storing primary and backup copies of vital information for operating the processor system.
Processor systems, such as embedded systems, require vital information that describes the physical configuration, the logical configuration, and the engineering changes of the system in which the processor(s) is embedded.
One example of an embedded system is an automated data storage library. Data processing systems typically require large amounts of data storage capacity, some of which is needed quickly and may be stored in memory and hard disk drives, and other of which is not immediately required. As an example, data not immediately required may comprise data that is infrequently accessed, and the storage of the data may be in removable data storage media, such as magnetic tape cartridges or optical disk cartridges, stored in automated data storage libraries for the use of host data processing systems. Such automated data storage libraries provide efficient access to large quantities of the data storage media, which are stored in storage shelves and which are accessed by one or more accessors and delivered to data storage drives in the library. In one example, a magnetic tape cartridge automated data storage library stores over 6,000 cartridges.
The data stored in automated data storage libraries is not frequently accessed, but when needed, is needed promptly. Also, data to be stored in a library builds up quickly and must be stored without undue delay. Thus, if the library, or the library controller computer processor, is subject to a power-on reset, it must come up to full capability as soon as possible so that the library is available to provide data access and storage.
Typically, every library is at a different level with regard to engineering change levels, physical configuration, and logical configuration, and has different calibration values, e.g., for aligning the accessor. This information is called vital information, or vital product data (VPD). In order to quickly bring a library controller online, vital information is stored in non-volatile storage and is accessible by the computer processor. The stored vital information may be accessed much more rapidly than a manual process can be employed to re-construct the vital information for a given library. Further, if the cause of the power-on reset was unexpected, and the vital information were unavailable for a manual entry, the down time could be drawn out.
Other examples of embedded systems which require vital information include an aircraft xe2x80x9cfly-by-wirexe2x80x9d calibration system, a power generation system, a power distribution system, a distributed processor automotive system, and medical equipment.
It is very desirable to have an additional backup copy of the vital information in a separate backup non-volatile storage, for example, in case the component or FRU (field replaceable unit) containing the primary copy of the vital information is removed and replaced with a replacement FRU. In this case, the vital information could be restore copied to the replacement primary non-volatile storage from the backup non-volatile storage without requiring manual reconstruction. This backup copy might exist within the library on another FRU, or external to the library, e.g., on the local server managed by library management software.
When a backup copy is implemented, the trigger for the backup event must ensure that an invalid primary copy is never used to do a backup and that an invalid backup copy is never used to do a restore. As one example, where a real-time clock is available, the primary and backup copies may each be time stamped, and the time stamps compared before backup or restore is initiated. An example of time-stamping information to indicate the currency of the information is described in coassigned U.S. Pat. No. 6,065,018, Beier et al. However, FRU swapping in the field could potentially undermine the check in that an invalid primary copy of vital information from another machine might look more recent than the valid backup copy.
As another example, multiple backup copies may be employed, and a vote taken and the majority vote assumed to be correct. However, the comparison takes time and provides no true assurance of correctness.
An object of the present invention is to provide verification of a primary or backup copy of vital information.
In a one embodiment, for example, in a multi-node system, a pseudo-fixed reference identifier is provided at a reference location in the processing system.
A pseudo-fixed reference identifier is defined as an identifier that is unlikely to be changed over the lifetime of the machine or system in which it is implemented, such as a machine serial number. The pseudo-fixed reference identifier is employed to control which copy of vital information is correct, as opposed to time stamps or voting schemes. Primary non-volatile storage is provided at a node of the processing system separate from and coupled to the reference location, for storing a primary copy of vital information, and for storing a copy of the pseudo-fixed reference identifier associated with the primary copy of the vital information. Backup non-volatile storage is provided at a node of the processing system coupled to the primary non-volatile storage, for storing a backup copy of the vital information, the backup copy copied from the primary copy of vital information and associated with a copy of the pseudo-fixed reference identifier. At least one processor is coupled to the reference location, the primary non-volatile storage and the backup non-volatile storage. In accordance with an embodiment of a processor implemented method, the processor:
upon a reset identified by the processor, reads the pseudo-fixed reference identifier from the reference location;
compares the read pseudo-fixed reference identifier to the stored copies of the pseudo-fixed reference identifier of the primary non-volatile storage and the backup non-volatile storage; and
if the read pseudo-fixed reference identifier matches the primary stored copy of the pseudo-fixed reference identifier, the processor indicates the vital information is valid; if the read pseudo-fixed reference identifier matches the backup stored copy of a pseudo-fixed reference identifier only, the backup copy of vital information is correct and is to be restore copied as the primary copy.
As defined above, a pseudo-fixed reference comprises a reference that is unlikely to be altered over time, as compared to the time in which components or FRUs (field replaceable units) are subject to replacement. One example is a sensible indicator, such as a fixed bar code label which is read by a reader. Another example is an electronically readable xe2x80x9celectronic serial numberxe2x80x9d fixed in an electronic module. A further example is an arrangement of I/O pins. Other examples comprise settable switches of an electronic module, such as manually settable xe2x80x9cDIPxe2x80x9d switches or manually settable multi-position switches. A still further example comprises a value stored in a non-volatile memory device, such as a PROM, battery backup RAM, FPGA, ASIC, etc.
In an embodiment of an automated data storage library having a plurality of storage shelves for storing data storage media, at least one accessor for accessing the data storage media in the plurality of storage shelves, a machine readable serial number identifier is provided, comprising the pseudo-fixed reference identifier. A positionable reader reads the machine readable serial number identifier under the control of a library controller. Primary and backup non-volatile storage are provided for storing primary and backup copies of the vital information. The library controller comprises at least one computer processor which is coupled to the accessor, the positionable reader, and to the primary and backup non-volatile storage. Additionally, the library controller stores programs for operating the library in accordance with the vital information.
An embodiment of a computer implemented method of verifying the primary and backup copies of vital information for the library comprises storing a copy of the pseudo-fixed reference identifier, comprising the serial number identifier, associated with the primary copy of the vital information of the primary non-volatile storage; and copying the primary copy of vital information to the backup non-volatile storage as the backup copy and associated with the serial number identifier.
In accordance with the computer implemented method, upon a power-on reset of the computer processor, the positionable reader is operated to read the machine readable serial number identifier; the read serial number identifier is compared to the stored serial number identifiers of the primary storage and the backup storage, and:
if the read serial number identifier (which is the pseudo-fixed reference identifier) matches the primary stored serial number identifier (which is the copy of the pseudo-fixed reference identifier), the primary copy of vital information is correct; and
if the read serial number identifier matches the backup stored copy of the serial number identifier only, the processor restore copies the backup copy of vital information to the primary non-volatile storage as the primary copy.
Additionally, in the processing system, if the read pseudo-fixed reference identifier fails to match either the primary stored copy of the pseudo-fixed reference identifier or the backup stored copy of the pseudo-fixed reference identifier, or if the pseudo-fixed reference identifier can""t be read, the primary and backup copies of the pseudo-fixed reference identifier are compared. If they match, the processor indicates that the vital information is valid. If they don""t match, the processor provides an error indication.
For a fuller understanding of the present invention, reference should be made to the following detailed description taken in conjunction with the accompanying drawings.